Problem Note 51003: Using a %SYMDEL statement within a CALL EXECUTE routine incorrectly deletes local macro variables
The %SYMDEL statement is intended to delete only global macro variables. However, if %SYMDEL is used as an argument to the CALL EXECUTE routine, it incorrectly deletes the local macro variable that matches the name in the %SYMDEL statement.
If the name in the %SYMDEL statement is found on the global symbol table, %SYMDEL correctly deletes that macro variable and has no effect on the local macro variable. If the macro variable is not found on the global symbol table but is found on the local symbol table, it is incorrectly deleted.
This issue does not occur when you use %SYMDEL outside the CALL EXECUTE routine or if you use the CALL SYMDEL routine.
To work around the issue, use CALL SYMDEL.
Click the Hot Fix tab in this note to access the hot fix for this issue.
Operating System and Release Information
SAS System | Base SAS | z/OS | 9.4 TS1M0 | 9.4 TS1M1 |
Z64 | 9.4 TS1M0 | 9.4 TS1M1 |
Microsoft® Windows® for x64 | 9.4 TS1M0 | 9.4 TS1M1 |
Microsoft® Windows® for 64-Bit Itanium-based Systems | 9.4 TS1M0 | |
Microsoft Windows 8 Enterprise 32-bit | 9.4 TS1M0 | 9.4 TS1M1 |
Microsoft Windows 8 Enterprise x64 | 9.4 TS1M0 | 9.4 TS1M1 |
Microsoft Windows 8 Pro 32-bit | 9.4 TS1M0 | 9.4 TS1M1 |
Microsoft Windows 8 Pro x64 | 9.4 TS1M0 | 9.4 TS1M1 |
Microsoft Windows Server 2008 R2 | 9.4 TS1M0 | 9.4 TS1M1 |
Microsoft Windows Server 2008 for x64 | 9.4 TS1M0 | 9.4 TS1M1 |
Microsoft Windows Server 2012 Datacenter | 9.4 TS1M0 | 9.4 TS1M1 |
Microsoft Windows Server 2012 Std | 9.4 TS1M0 | 9.4 TS1M1 |
Windows 7 Enterprise x64 | 9.4 TS1M0 | 9.4 TS1M1 |
Windows 7 Professional x64 | 9.4 TS1M0 | 9.4 TS1M1 |
64-bit Enabled AIX | 9.4 TS1M0 | 9.4 TS1M1 |
64-bit Enabled HP-UX | 9.4 TS1M0 | 9.4 TS1M1 |
64-bit Enabled Solaris | 9.4 TS1M0 | 9.4 TS1M1 |
HP-UX IPF | 9.4 TS1M0 | 9.4 TS1M1 |
Linux for x64 | 9.4 TS1M0 | 9.4 TS1M1 |
Solaris for x64 | 9.4 TS1M0 | 9.4 TS1M1 |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.
%SYMDEL is supposed to delete macro variables from the global symbol table only, but when used within CALL EXECUTE it also deletes local macro variables.
Type: | Problem Note |
Priority: | low |
Date Modified: | 2013-10-30 16:31:49 |
Date Created: | 2013-09-06 10:41:49 |